Skip to content

Adding proposal for test-mode retrospectively#1176

Open
LalatenduMohanty wants to merge 1 commit into
python-wheel-build:mainfrom
LalatenduMohanty:test-mode-proposal
Open

Adding proposal for test-mode retrospectively#1176
LalatenduMohanty wants to merge 1 commit into
python-wheel-build:mainfrom
LalatenduMohanty:test-mode-proposal

Conversation

@LalatenduMohanty
Copy link
Copy Markdown
Member

@LalatenduMohanty LalatenduMohanty commented Jun 1, 2026

As the proposal docs are are useful to understand the architecture behind the big features we are doing. So having a doc which explain the motivation and architecture behind the feature would be useful for future contributors.

@LalatenduMohanty LalatenduMohanty requested a review from a team as a code owner June 1, 2026 15:04
@LalatenduMohanty LalatenduMohanty marked this pull request as draft June 1, 2026 15:04
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a proposal document describing --test-mode behavior for fromager bootstrap. The document specifies that test-mode enables non-aborting serial bootstraps: instead of halting on package resolution or bootstrap failures, the process continues. When source-build phases fail, the resolver may fall back to downloading pre-built wheels for the same package to maintain traversal. The proposal defines failure classification (resolution, bootstrap, hook/dependency extraction), how fallback affects the recorded source_url_type in build-order.json, and how run outcomes are reported via a timestamped JSON file with exit code 1 on any recorded failure. It includes run-flow and error-flow diagrams, usage examples, limitations, and references to key source files.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a proposal document for the test-mode feature retrospectively.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description explains the motivation for adding proposal documentation to help future contributors understand the test-mode feature architecture, which directly relates to the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@LalatenduMohanty LalatenduMohanty marked this pull request as ready for review June 4, 2026 17:17
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/proposals/test-mode.md`:
- Line 46: The Markdown line "Recording source-build failures when fallback
succeeds ([`#1166`](`#limitations`))." contains a broken MyST anchor; edit that text
in docs/proposals/test-mode.md to remove the fragment by replacing the inline
link target "(`#limitations`)" with either a plain reference "[`#1166`]" or a full
GitHub issue URL "(https://github.com/.../issues/1166)" so the MyST parser can
resolve it (i.e., change "([`#1166`](`#limitations`))" to "([`#1166`])" or to the full
issue link).
- Around line 58-79: The Mermaid code fences in docs/proposals/test-mode.md are
causing Sphinx warnings because docs/conf.py only enables myst_parser
(myst_enable_extensions = ["colon_fence"]) and doesn’t treat ```mermaid as a
directive; fix by either converting/removing the mermaid diagrams in
test-mode.md to plain text/ASCII or static images, or add a Mermaid extension
and MyST config: install and enable a Sphinx Mermaid extension (e.g.,
sphinxcontrib-mermaid) and update docs/conf.py to treat mermaid fences as
directives (e.g., add myst_fence_as_directive = ["mermaid"] alongside
myst_enable_extensions) so the ```mermaid blocks are recognized and the
sphinx-build --fail-on-warning run no longer errors.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 662218e8-b2df-4358-9924-179ea2b24ea2

📥 Commits

Reviewing files that changed from the base of the PR and between 3119c93 and 55d5fb1.

📒 Files selected for processing (1)
  • docs/proposals/test-mode.md

Comment thread docs/proposals/test-mode.md Outdated
Comment thread docs/proposals/test-mode.md Outdated
As the proposal docs are are useful to understand the architecture behind the big features we are doing.
So having a doc which explain the motivation and architecture behind the feature would be useful for future contributors.

Co-Authored-By: Claude <claude@anthropic.com>
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant